home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / xpcom / nsIFastLoadService.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  20KB  |  464 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIFastLoadService.idl
  3.  */
  4.  
  5. #ifndef __gen_nsIFastLoadService_h__
  6. #define __gen_nsIFastLoadService_h__
  7.  
  8.  
  9. #ifndef __gen_nsISupports_h__
  10. #include "nsISupports.h"
  11. #endif
  12.  
  13. #ifndef __gen_nsrootidl_h__
  14. #include "nsrootidl.h"
  15. #endif
  16.  
  17. /* For IDL files that don't want to include root IDL files. */
  18. #ifndef NS_NO_VTABLE
  19. #define NS_NO_VTABLE
  20. #endif
  21. class nsIFastLoadReadControl; /* forward declaration */
  22.  
  23. class nsIFile; /* forward declaration */
  24.  
  25. class nsIInputStream; /* forward declaration */
  26.  
  27. class nsIOutputStream; /* forward declaration */
  28.  
  29. class nsIObjectInputStream; /* forward declaration */
  30.  
  31. class nsIObjectOutputStream; /* forward declaration */
  32.  
  33.  
  34. /* starting interface:    nsIFastLoadFileIO */
  35. #define NS_IFASTLOADFILEIO_IID_STR "715577db-d9c5-464a-a32e-0a40c29b22d4"
  36.  
  37. #define NS_IFASTLOADFILEIO_IID \
  38.   {0x715577db, 0xd9c5, 0x464a, \
  39.     { 0xa3, 0x2e, 0x0a, 0x40, 0xc2, 0x9b, 0x22, 0xd4 }}
  40.  
  41. class NS_NO_VTABLE nsIFastLoadFileIO : public nsISupports {
  42.  public: 
  43.  
  44.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_IFASTLOADFILEIO_IID)
  45.  
  46.   /* readonly attribute nsIInputStream inputStream; */
  47.   NS_IMETHOD GetInputStream(nsIInputStream * *aInputStream) = 0;
  48.  
  49.   /* readonly attribute nsIOutputStream outputStream; */
  50.   NS_IMETHOD GetOutputStream(nsIOutputStream * *aOutputStream) = 0;
  51.  
  52. };
  53.  
  54. /* Use this macro when declaring classes that implement this interface. */
  55. #define NS_DECL_NSIFASTLOADFILEIO \
  56.   NS_IMETHOD GetInputStream(nsIInputStream * *aInputStream); \
  57.   NS_IMETHOD GetOutputStream(nsIOutputStream * *aOutputStream); 
  58.  
  59. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  60. #define NS_FORWARD_NSIFASTLOADFILEIO(_to) \
  61.   NS_IMETHOD GetInputStream(nsIInputStream * *aInputStream) { return _to GetInputStream(aInputStream); } \
  62.   NS_IMETHOD GetOutputStream(nsIOutputStream * *aOutputStream) { return _to GetOutputStream(aOutputStream); } 
  63.  
  64. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  65. #define NS_FORWARD_SAFE_NSIFASTLOADFILEIO(_to) \
  66.   NS_IMETHOD GetInputStream(nsIInputStream * *aInputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInputStream(aInputStream); } \
  67.   NS_IMETHOD GetOutputStream(nsIOutputStream * *aOutputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOutputStream(aOutputStream); } 
  68.  
  69. #if 0
  70. /* Use the code below as a template for the implementation class for this interface. */
  71.  
  72. /* Header file */
  73. class nsFastLoadFileIO : public nsIFastLoadFileIO
  74. {
  75. public:
  76.   NS_DECL_ISUPPORTS
  77.   NS_DECL_NSIFASTLOADFILEIO
  78.  
  79.   nsFastLoadFileIO();
  80.  
  81. private:
  82.   ~nsFastLoadFileIO();
  83.  
  84. protected:
  85.   /* additional members */
  86. };
  87.  
  88. /* Implementation file */
  89. NS_IMPL_ISUPPORTS1(nsFastLoadFileIO, nsIFastLoadFileIO)
  90.  
  91. nsFastLoadFileIO::nsFastLoadFileIO()
  92. {
  93.   /* member initializers and constructor code */
  94. }
  95.  
  96. nsFastLoadFileIO::~nsFastLoadFileIO()
  97. {
  98.   /* destructor code */
  99. }
  100.  
  101. /* readonly attribute nsIInputStream inputStream; */
  102. NS_IMETHODIMP nsFastLoadFileIO::GetInputStream(nsIInputStream * *aInputStream)
  103. {
  104.     return NS_ERROR_NOT_IMPLEMENTED;
  105. }
  106.  
  107. /* readonly attribute nsIOutputStream outputStream; */
  108. NS_IMETHODIMP nsFastLoadFileIO::GetOutputStream(nsIOutputStream * *aOutputStream)
  109. {
  110.     return NS_ERROR_NOT_IMPLEMENTED;
  111. }
  112.  
  113. /* End of implementation class template. */
  114. #endif
  115.  
  116.  
  117. /* starting interface:    nsIFastLoadService */
  118. #define NS_IFASTLOADSERVICE_IID_STR "759e475e-0c23-4dbf-b1b8-78c9369e3072"
  119.  
  120. #define NS_IFASTLOADSERVICE_IID \
  121.   {0x759e475e, 0x0c23, 0x4dbf, \
  122.     { 0xb1, 0xb8, 0x78, 0xc9, 0x36, 0x9e, 0x30, 0x72 }}
  123.  
  124. class NS_NO_VTABLE nsIFastLoadService : public nsISupports {
  125.  public: 
  126.  
  127.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_IFASTLOADSERVICE_IID)
  128.  
  129.   /* nsIFile newFastLoadFile (in string aBaseName); */
  130.   NS_IMETHOD NewFastLoadFile(const char *aBaseName, nsIFile **_retval) = 0;
  131.  
  132.   /* nsIObjectInputStream newInputStream (in nsIInputStream aSrcStream); */
  133.   NS_IMETHOD NewInputStream(nsIInputStream *aSrcStream, nsIObjectInputStream **_retval) = 0;
  134.  
  135.   /* nsIObjectOutputStream newOutputStream (in nsIOutputStream aDestStream); */
  136.   NS_IMETHOD NewOutputStream(nsIOutputStream *aDestStream, nsIObjectOutputStream **_retval) = 0;
  137.  
  138.   enum { NS_FASTLOAD_READ = 1 };
  139.  
  140.   enum { NS_FASTLOAD_WRITE = 2 };
  141.  
  142.   /* attribute nsIObjectInputStream inputStream; */
  143.   NS_IMETHOD GetInputStream(nsIObjectInputStream * *aInputStream) = 0;
  144.   NS_IMETHOD SetInputStream(nsIObjectInputStream * aInputStream) = 0;
  145.  
  146.   /* attribute nsIObjectOutputStream outputStream; */
  147.   NS_IMETHOD GetOutputStream(nsIObjectOutputStream * *aOutputStream) = 0;
  148.   NS_IMETHOD SetOutputStream(nsIObjectOutputStream * aOutputStream) = 0;
  149.  
  150.   /* attribute nsIFastLoadFileIO fileIO; */
  151.   NS_IMETHOD GetFileIO(nsIFastLoadFileIO * *aFileIO) = 0;
  152.   NS_IMETHOD SetFileIO(nsIFastLoadFileIO * aFileIO) = 0;
  153.  
  154.   /* readonly attribute PRInt32 direction; */
  155.   NS_IMETHOD GetDirection(PRInt32 *aDirection) = 0;
  156.  
  157.   /**
  158.      * These methods associate a URI object with its spec, for faster select
  159.      * using the object pointer as a key, rather than the spec string.  The
  160.      * selectMuxedDocument method returns the previously selected URI object,
  161.      * in case a caller needs to reselect the previous after muxing data for
  162.      * a given URI synchronously.  For the non-blocking or "asynchronous" i/o
  163.      * case, the caller must select the source URI from the FastLoad multiplex
  164.      * before writing a new burst of data parsed from the slow-loaded source.
  165.      *
  166.      * Clients of inputStream and outputStream should try to demultiplex data
  167.      * from the input stream only if fastLoadService->StartMuxedDocument(uri,
  168.      * urispec, NS_FASTLOAD_READ) succeeds.  If StartMuxedDocument fails with
  169.      * NS_ERROR_NOT_AVAILABLE, callers should slow-load the documents, muxing
  170.      * their data to the current output stream.
  171.      */
  172.   /* void startMuxedDocument (in nsISupports aURI, in string aURISpec, in PRInt32 aDirectionFlags); */
  173.   NS_IMETHOD StartMuxedDocument(nsISupports *aURI, const char *aURISpec, PRInt32 aDirectionFlags) = 0;
  174.  
  175.   /* nsISupports selectMuxedDocument (in nsISupports aURI); */
  176.   NS_IMETHOD SelectMuxedDocument(nsISupports *aURI, nsISupports **_retval) = 0;
  177.  
  178.   /* void endMuxedDocument (in nsISupports aURI); */
  179.   NS_IMETHOD EndMuxedDocument(nsISupports *aURI) = 0;
  180.  
  181.   /* void addDependency (in nsIFile aFile); */
  182.   NS_IMETHOD AddDependency(nsIFile *aFile) = 0;
  183.  
  184.   /* PRUint32 computeChecksum (in nsIFile aFile, in nsIFastLoadReadControl aControl); */
  185.   NS_IMETHOD ComputeChecksum(nsIFile *aFile, nsIFastLoadReadControl *aControl, PRUint32 *_retval) = 0;
  186.  
  187.   /* void cacheChecksum (in nsIFile aFile, in nsIObjectOutputStream aStream); */
  188.   NS_IMETHOD CacheChecksum(nsIFile *aFile, nsIObjectOutputStream *aStream) = 0;
  189.  
  190.   /* [noscript] void getFastLoadReferent (inout nsISupports aPtr); */
  191.   NS_IMETHOD GetFastLoadReferent(nsISupports **aPtr) = 0;
  192.  
  193.   /* [noscript] void readFastLoadPtr (in nsIObjectInputStream aInputStream, inout nsISupports aPtr); */
  194.   NS_IMETHOD ReadFastLoadPtr(nsIObjectInputStream *aInputStream, nsISupports **aPtr) = 0;
  195.  
  196.   /* [noscript] void writeFastLoadPtr (in nsIObjectOutputStream aOutputStream, in nsISupports aPtr); */
  197.   NS_IMETHOD WriteFastLoadPtr(nsIObjectOutputStream *aOutputStream, nsISupports *aPtr) = 0;
  198.  
  199.   /**
  200.      * Return true if aURISpec identifies a muxed document in the FastLoad
  201.      * file, false otherwise.
  202.      */
  203.   /* boolean hasMuxedDocument (in string aURISpec); */
  204.   NS_IMETHOD HasMuxedDocument(const char *aURISpec, PRBool *_retval) = 0;
  205.  
  206. };
  207.  
  208. /* Use this macro when declaring classes that implement this interface. */
  209. #define NS_DECL_NSIFASTLOADSERVICE \
  210.   NS_IMETHOD NewFastLoadFile(const char *aBaseName, nsIFile **_retval); \
  211.   NS_IMETHOD NewInputStream(nsIInputStream *aSrcStream, nsIObjectInputStream **_retval); \
  212.   NS_IMETHOD NewOutputStream(nsIOutputStream *aDestStream, nsIObjectOutputStream **_retval); \
  213.   NS_IMETHOD GetInputStream(nsIObjectInputStream * *aInputStream); \
  214.   NS_IMETHOD SetInputStream(nsIObjectInputStream * aInputStream); \
  215.   NS_IMETHOD GetOutputStream(nsIObjectOutputStream * *aOutputStream); \
  216.   NS_IMETHOD SetOutputStream(nsIObjectOutputStream * aOutputStream); \
  217.   NS_IMETHOD GetFileIO(nsIFastLoadFileIO * *aFileIO); \
  218.   NS_IMETHOD SetFileIO(nsIFastLoadFileIO * aFileIO); \
  219.   NS_IMETHOD GetDirection(PRInt32 *aDirection); \
  220.   NS_IMETHOD StartMuxedDocument(nsISupports *aURI, const char *aURISpec, PRInt32 aDirectionFlags); \
  221.   NS_IMETHOD SelectMuxedDocument(nsISupports *aURI, nsISupports **_retval); \
  222.   NS_IMETHOD EndMuxedDocument(nsISupports *aURI); \
  223.   NS_IMETHOD AddDependency(nsIFile *aFile); \
  224.   NS_IMETHOD ComputeChecksum(nsIFile *aFile, nsIFastLoadReadControl *aControl, PRUint32 *_retval); \
  225.   NS_IMETHOD CacheChecksum(nsIFile *aFile, nsIObjectOutputStream *aStream); \
  226.   NS_IMETHOD GetFastLoadReferent(nsISupports **aPtr); \
  227.   NS_IMETHOD ReadFastLoadPtr(nsIObjectInputStream *aInputStream, nsISupports **aPtr); \
  228.   NS_IMETHOD WriteFastLoadPtr(nsIObjectOutputStream *aOutputStream, nsISupports *aPtr); \
  229.   NS_IMETHOD HasMuxedDocument(const char *aURISpec, PRBool *_retval); 
  230.  
  231. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  232. #define NS_FORWARD_NSIFASTLOADSERVICE(_to) \
  233.   NS_IMETHOD NewFastLoadFile(const char *aBaseName, nsIFile **_retval) { return _to NewFastLoadFile(aBaseName, _retval); } \
  234.   NS_IMETHOD NewInputStream(nsIInputStream *aSrcStream, nsIObjectInputStream **_retval) { return _to NewInputStream(aSrcStream, _retval); } \
  235.   NS_IMETHOD NewOutputStream(nsIOutputStream *aDestStream, nsIObjectOutputStream **_retval) { return _to NewOutputStream(aDestStream, _retval); } \
  236.   NS_IMETHOD GetInputStream(nsIObjectInputStream * *aInputStream) { return _to GetInputStream(aInputStream); } \
  237.   NS_IMETHOD SetInputStream(nsIObjectInputStream * aInputStream) { return _to SetInputStream(aInputStream); } \
  238.   NS_IMETHOD GetOutputStream(nsIObjectOutputStream * *aOutputStream) { return _to GetOutputStream(aOutputStream); } \
  239.   NS_IMETHOD SetOutputStream(nsIObjectOutputStream * aOutputStream) { return _to SetOutputStream(aOutputStream); } \
  240.   NS_IMETHOD GetFileIO(nsIFastLoadFileIO * *aFileIO) { return _to GetFileIO(aFileIO); } \
  241.   NS_IMETHOD SetFileIO(nsIFastLoadFileIO * aFileIO) { return _to SetFileIO(aFileIO); } \
  242.   NS_IMETHOD GetDirection(PRInt32 *aDirection) { return _to GetDirection(aDirection); } \
  243.   NS_IMETHOD StartMuxedDocument(nsISupports *aURI, const char *aURISpec, PRInt32 aDirectionFlags) { return _to StartMuxedDocument(aURI, aURISpec, aDirectionFlags); } \
  244.   NS_IMETHOD SelectMuxedDocument(nsISupports *aURI, nsISupports **_retval) { return _to SelectMuxedDocument(aURI, _retval); } \
  245.   NS_IMETHOD EndMuxedDocument(nsISupports *aURI) { return _to EndMuxedDocument(aURI); } \
  246.   NS_IMETHOD AddDependency(nsIFile *aFile) { return _to AddDependency(aFile); } \
  247.   NS_IMETHOD ComputeChecksum(nsIFile *aFile, nsIFastLoadReadControl *aControl, PRUint32 *_retval) { return _to ComputeChecksum(aFile, aControl, _retval); } \
  248.   NS_IMETHOD CacheChecksum(nsIFile *aFile, nsIObjectOutputStream *aStream) { return _to CacheChecksum(aFile, aStream); } \
  249.   NS_IMETHOD GetFastLoadReferent(nsISupports **aPtr) { return _to GetFastLoadReferent(aPtr); } \
  250.   NS_IMETHOD ReadFastLoadPtr(nsIObjectInputStream *aInputStream, nsISupports **aPtr) { return _to ReadFastLoadPtr(aInputStream, aPtr); } \
  251.   NS_IMETHOD WriteFastLoadPtr(nsIObjectOutputStream *aOutputStream, nsISupports *aPtr) { return _to WriteFastLoadPtr(aOutputStream, aPtr); } \
  252.   NS_IMETHOD HasMuxedDocument(const char *aURISpec, PRBool *_retval) { return _to HasMuxedDocument(aURISpec, _retval); } 
  253.  
  254. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  255. #define NS_FORWARD_SAFE_NSIFASTLOADSERVICE(_to) \
  256.   NS_IMETHOD NewFastLoadFile(const char *aBaseName, nsIFile **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewFastLoadFile(aBaseName, _retval); } \
  257.   NS_IMETHOD NewInputStream(nsIInputStream *aSrcStream, nsIObjectInputStream **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewInputStream(aSrcStream, _retval); } \
  258.   NS_IMETHOD NewOutputStream(nsIOutputStream *aDestStream, nsIObjectOutputStream **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewOutputStream(aDestStream, _retval); } \
  259.   NS_IMETHOD GetInputStream(nsIObjectInputStream * *aInputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInputStream(aInputStream); } \
  260.   NS_IMETHOD SetInputStream(nsIObjectInputStream * aInputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetInputStream(aInputStream); } \
  261.   NS_IMETHOD GetOutputStream(nsIObjectOutputStream * *aOutputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOutputStream(aOutputStream); } \
  262.   NS_IMETHOD SetOutputStream(nsIObjectOutputStream * aOutputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOutputStream(aOutputStream); } \
  263.   NS_IMETHOD GetFileIO(nsIFastLoadFileIO * *aFileIO) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileIO(aFileIO); } \
  264.   NS_IMETHOD SetFileIO(nsIFastLoadFileIO * aFileIO) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFileIO(aFileIO); } \
  265.   NS_IMETHOD GetDirection(PRInt32 *aDirection) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDirection(aDirection); } \
  266.   NS_IMETHOD StartMuxedDocument(nsISupports *aURI, const char *aURISpec, PRInt32 aDirectionFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->StartMuxedDocument(aURI, aURISpec, aDirectionFlags); } \
  267.   NS_IMETHOD SelectMuxedDocument(nsISupports *aURI, nsISupports **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->SelectMuxedDocument(aURI, _retval); } \
  268.   NS_IMETHOD EndMuxedDocument(nsISupports *aURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->EndMuxedDocument(aURI); } \
  269.   NS_IMETHOD AddDependency(nsIFile *aFile) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddDependency(aFile); } \
  270.   NS_IMETHOD ComputeChecksum(nsIFile *aFile, nsIFastLoadReadControl *aControl, PRUint32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ComputeChecksum(aFile, aControl, _retval); } \
  271.   NS_IMETHOD CacheChecksum(nsIFile *aFile, nsIObjectOutputStream *aStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->CacheChecksum(aFile, aStream); } \
  272.   NS_IMETHOD GetFastLoadReferent(nsISupports **aPtr) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFastLoadReferent(aPtr); } \
  273.   NS_IMETHOD ReadFastLoadPtr(nsIObjectInputStream *aInputStream, nsISupports **aPtr) { return !_to ? NS_ERROR_NULL_POINTER : _to->ReadFastLoadPtr(aInputStream, aPtr); } \
  274.   NS_IMETHOD WriteFastLoadPtr(nsIObjectOutputStream *aOutputStream, nsISupports *aPtr) { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteFastLoadPtr(aOutputStream, aPtr); } \
  275.   NS_IMETHOD HasMuxedDocument(const char *aURISpec, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->HasMuxedDocument(aURISpec, _retval); } 
  276.  
  277. #if 0
  278. /* Use the code below as a template for the implementation class for this interface. */
  279.  
  280. /* Header file */
  281. class nsFastLoadService : public nsIFastLoadService
  282. {
  283. public:
  284.   NS_DECL_ISUPPORTS
  285.   NS_DECL_NSIFASTLOADSERVICE
  286.  
  287.   nsFastLoadService();
  288.  
  289. private:
  290.   ~nsFastLoadService();
  291.  
  292. protected:
  293.   /* additional members */
  294. };
  295.  
  296. /* Implementation file */
  297. NS_IMPL_ISUPPORTS1(nsFastLoadService, nsIFastLoadService)
  298.  
  299. nsFastLoadService::nsFastLoadService()
  300. {
  301.   /* member initializers and constructor code */
  302. }
  303.  
  304. nsFastLoadService::~nsFastLoadService()
  305. {
  306.   /* destructor code */
  307. }
  308.  
  309. /* nsIFile newFastLoadFile (in string aBaseName); */
  310. NS_IMETHODIMP nsFastLoadService::NewFastLoadFile(const char *aBaseName, nsIFile **_retval)
  311. {
  312.     return NS_ERROR_NOT_IMPLEMENTED;
  313. }
  314.  
  315. /* nsIObjectInputStream newInputStream (in nsIInputStream aSrcStream); */
  316. NS_IMETHODIMP nsFastLoadService::NewInputStream(nsIInputStream *aSrcStream, nsIObjectInputStream **_retval)
  317. {
  318.     return NS_ERROR_NOT_IMPLEMENTED;
  319. }
  320.  
  321. /* nsIObjectOutputStream newOutputStream (in nsIOutputStream aDestStream); */
  322. NS_IMETHODIMP nsFastLoadService::NewOutputStream(nsIOutputStream *aDestStream, nsIObjectOutputStream **_retval)
  323. {
  324.     return NS_ERROR_NOT_IMPLEMENTED;
  325. }
  326.  
  327. /* attribute nsIObjectInputStream inputStream; */
  328. NS_IMETHODIMP nsFastLoadService::GetInputStream(nsIObjectInputStream * *aInputStream)
  329. {
  330.     return NS_ERROR_NOT_IMPLEMENTED;
  331. }
  332. NS_IMETHODIMP nsFastLoadService::SetInputStream(nsIObjectInputStream * aInputStream)
  333. {
  334.     return NS_ERROR_NOT_IMPLEMENTED;
  335. }
  336.  
  337. /* attribute nsIObjectOutputStream outputStream; */
  338. NS_IMETHODIMP nsFastLoadService::GetOutputStream(nsIObjectOutputStream * *aOutputStream)
  339. {
  340.     return NS_ERROR_NOT_IMPLEMENTED;
  341. }
  342. NS_IMETHODIMP nsFastLoadService::SetOutputStream(nsIObjectOutputStream * aOutputStream)
  343. {
  344.     return NS_ERROR_NOT_IMPLEMENTED;
  345. }
  346.  
  347. /* attribute nsIFastLoadFileIO fileIO; */
  348. NS_IMETHODIMP nsFastLoadService::GetFileIO(nsIFastLoadFileIO * *aFileIO)
  349. {
  350.     return NS_ERROR_NOT_IMPLEMENTED;
  351. }
  352. NS_IMETHODIMP nsFastLoadService::SetFileIO(nsIFastLoadFileIO * aFileIO)
  353. {
  354.     return NS_ERROR_NOT_IMPLEMENTED;
  355. }
  356.  
  357. /* readonly attribute PRInt32 direction; */
  358. NS_IMETHODIMP nsFastLoadService::GetDirection(PRInt32 *aDirection)
  359. {
  360.     return NS_ERROR_NOT_IMPLEMENTED;
  361. }
  362.  
  363. /* void startMuxedDocument (in nsISupports aURI, in string aURISpec, in PRInt32 aDirectionFlags); */
  364. NS_IMETHODIMP nsFastLoadService::StartMuxedDocument(nsISupports *aURI, const char *aURISpec, PRInt32 aDirectionFlags)
  365. {
  366.     return NS_ERROR_NOT_IMPLEMENTED;
  367. }
  368.  
  369. /* nsISupports selectMuxedDocument (in nsISupports aURI); */
  370. NS_IMETHODIMP nsFastLoadService::SelectMuxedDocument(nsISupports *aURI, nsISupports **_retval)
  371. {
  372.     return NS_ERROR_NOT_IMPLEMENTED;
  373. }
  374.  
  375. /* void endMuxedDocument (in nsISupports aURI); */
  376. NS_IMETHODIMP nsFastLoadService::EndMuxedDocument(nsISupports *aURI)
  377. {
  378.     return NS_ERROR_NOT_IMPLEMENTED;
  379. }
  380.  
  381. /* void addDependency (in nsIFile aFile); */
  382. NS_IMETHODIMP nsFastLoadService::AddDependency(nsIFile *aFile)
  383. {
  384.     return NS_ERROR_NOT_IMPLEMENTED;
  385. }
  386.  
  387. /* PRUint32 computeChecksum (in nsIFile aFile, in nsIFastLoadReadControl aControl); */
  388. NS_IMETHODIMP nsFastLoadService::ComputeChecksum(nsIFile *aFile, nsIFastLoadReadControl *aControl, PRUint32 *_retval)
  389. {
  390.     return NS_ERROR_NOT_IMPLEMENTED;
  391. }
  392.  
  393. /* void cacheChecksum (in nsIFile aFile, in nsIObjectOutputStream aStream); */
  394. NS_IMETHODIMP nsFastLoadService::CacheChecksum(nsIFile *aFile, nsIObjectOutputStream *aStream)
  395. {
  396.     return NS_ERROR_NOT_IMPLEMENTED;
  397. }
  398.  
  399. /* [noscript] void getFastLoadReferent (inout nsISupports aPtr); */
  400. NS_IMETHODIMP nsFastLoadService::GetFastLoadReferent(nsISupports **aPtr)
  401. {
  402.     return NS_ERROR_NOT_IMPLEMENTED;
  403. }
  404.  
  405. /* [noscript] void readFastLoadPtr (in nsIObjectInputStream aInputStream, inout nsISupports aPtr); */
  406. NS_IMETHODIMP nsFastLoadService::ReadFastLoadPtr(nsIObjectInputStream *aInputStream, nsISupports **aPtr)
  407. {
  408.     return NS_ERROR_NOT_IMPLEMENTED;
  409. }
  410.  
  411. /* [noscript] void writeFastLoadPtr (in nsIObjectOutputStream aOutputStream, in nsISupports aPtr); */
  412. NS_IMETHODIMP nsFastLoadService::WriteFastLoadPtr(nsIObjectOutputStream *aOutputStream, nsISupports *aPtr)
  413. {
  414.     return NS_ERROR_NOT_IMPLEMENTED;
  415. }
  416.  
  417. /* boolean hasMuxedDocument (in string aURISpec); */
  418. NS_IMETHODIMP nsFastLoadService::HasMuxedDocument(const char *aURISpec, PRBool *_retval)
  419. {
  420.     return NS_ERROR_NOT_IMPLEMENTED;
  421. }
  422.  
  423. /* End of implementation class template. */
  424. #endif
  425.  
  426. #define NS_FASTLOADSERVICE_CLASSNAME "Mozilla FastLoad Service"
  427. #define NS_FASTLOADSERVICE_CID \
  428.     {0xc943093c,0xac94,0x4bee,{0x84,0x0b,0x8b,0x5a,0x6e,0x31,0x4f,0xa7}}
  429. #define NS_FASTLOADSERVICE_CONTRACTID \
  430.     "@mozilla.org/fast-load-service;1"
  431. #ifndef nsCOMPtr_h___
  432. # include "nsCOMPtr.h"
  433. #endif
  434. #ifndef __gen_nsIFile_h__
  435. # include "nsIFile.h"
  436. #endif
  437. #ifndef nsIServiceManager_h___
  438. # include "nsIServiceManager.h"
  439. #endif
  440. inline const nsGetServiceByCIDWithError
  441. do_GetFastLoadService(nsresult *aResultCode = 0)
  442. {
  443.     static NS_DEFINE_CID(kFastLoadServiceCID, NS_FASTLOADSERVICE_CID);
  444.     return nsGetServiceByCIDWithError(kFastLoadServiceCID, aResultCode);
  445. }
  446. inline nsresult
  447. NS_AddFastLoadDependency(nsIFile* aFile)
  448. {
  449.     nsCOMPtr<nsIFastLoadService> fastLoadService(do_GetFastLoadService());
  450.     if (fastLoadService) {
  451.         nsresult rv = fastLoadService->AddDependency(aFile);
  452.         if (NS_FAILED(rv) && rv != NS_ERROR_NOT_AVAILABLE)
  453.             return rv;
  454.     }
  455.     return NS_OK;
  456. }
  457. #if defined(XP_UNIX) || defined(XP_BEOS)
  458. #define PLATFORM_FASL_SUFFIX ".mfasl"
  459. #elif defined(XP_WIN) || defined(XP_OS2)
  460. #define PLATFORM_FASL_SUFFIX ".mfl"
  461. #endif
  462.  
  463. #endif /* __gen_nsIFastLoadService_h__ */
  464.